/**
 * uni.request()封装
 * @param {*} param 请求参数
 */
// 基础地址
const BASE_URL = "https://api-hmugo-web.itheima.net"
// const BASE_URL = "https://uinav.com"
async function request ({ url, header = {}, method, data }) {
  uni.showLoading({
    title: '加载中...',
    mask: true
  })
  // 处理token
  let token = uni.getStorageSync('token')
  if (token) {
    header.Authorization = token
  }
  let [error, res] = await uni.request({
    url: BASE_URL + url,
    header,
    method,
    data
  })
  uni.hideLoading()
  if (!error) {
    const _data = {
      msg: res.data.meta,
      data: res.data.message
    }
    return _data
  } else {
    return new Error(error)
  }
}

// vue 插件形式
// 1. 定义插件
const MyRequest = {
  install (Vue, opts) {
    Vue.prototype.request = request
  }
}
export default MyRequest